package com.yuandian.management.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.codehaus.jackson.annotate.JsonIgnore;

/**
 * agent配置信息加载类
 *
 * @author fucx 2020-06-07
 */
@Data
@ApiModel(value = "专属指标", description = "")
public class ExclusiveIndicatorVo {

	@ApiModelProperty(value = "id", notes = "")
	private Integer id;

	/**
	 * 专属指标编码
	 */
	@ApiModelProperty(value = "专属指标编码", notes = "专属指标编码")
	private String eiCode;

	/**
	 * 格式化串
	 *
	 */
	@ApiModelProperty(value = "格式化串", notes = "格式化串")
//	@NotNull(message = "格式化串 不能为空", groups = InsertFlag.class)
	private String formatStr;
	/**
	 * 脱敏长度
	 */
	@ApiModelProperty(value = "脱敏长度", notes = "脱敏长度")
	private Integer sensitiveLength;


	/**
	 * 标识名称
	 */
	@ApiModelProperty(value = "标识名称", notes = "")
	private String name;

	/**
	 * 服务资源编码
	 */
	@ApiModelProperty(value = "服务资源编码", notes = "")
	private String resourceCode;


	/**
	 * 父服务资源编码
	 */
	@ApiModelProperty(value = "父服务资源编码", notes = "")
	private String parentResourceCode;

	/**
	 * 服务资源匹配串
	 */
	@ApiModelProperty(value = "服务资源匹配串", notes = "")
	private String identifyStr;


	/**
	 * 来源
	 */
	@ApiModelProperty(value = "来源", notes = "来源")
	private String source;

	/**
	 * 关键字
	 */
	@ApiModelProperty(value = "关键字", notes = "关键字")
	private String keyword;

	/**
	 * 关键字类型
	 */
	@ApiModelProperty(value = "关键字类型", notes = "关键字类型")
	private String keywordType;

	/**
	 * 最后同步时间
	 */
	@ApiModelProperty(value = "最后同步时间", notes = "")
	private String synTime;

	/**
	 * 配置详情
	 */
	@JsonIgnore
	private String detail;

	/**
	 * 最后修改时间
	 */
	@ApiModelProperty(value = "最后修改时间", notes = "")
	private String updateTime;


	/**
	 * 脱敏开始数值
	 */
	@ApiModelProperty(value = "脱敏开始数值", notes = "脱敏开始数值: 0否, 1是")
	private String sensitiveStartValue;

	/**
	 * 导出脱敏
	 */
	@ApiModelProperty(value = "导出脱敏", notes = "导出脱敏: 0否, 1是")
	private String isExportSensitive;

	/**
	 * 是否显示
	 */
	@ApiModelProperty(value = "是否显示", notes = "是否显示: 0否, 1是")
	private Integer isShow;

	/**
	 * 是否交易标示
	 */
	@ApiModelProperty(value = "是否是交易标示", notes = "是否交易标示: 0否, 1是")
	private Integer isDeal;

	/**
	 * 是否交易标示
	 */
	@ApiModelProperty(value = "是否是用户标识", notes = "是否交易标示: 0否, 1是")
	private Integer isUserFlag;

	/**
	 * 渠道标识
	 */
	@ApiModelProperty(value = "是否是渠道标识", notes = "渠道标识: 0否, 1是")
	private Integer isChannel;

	/**
	 * 区域标识
	 */
	@ApiModelProperty(value = "是否是区域标识", notes = "区域标识: 0否, 1是")
	private Integer isRegion;

	/**
	 * 区域标识
	 */
	@ApiModelProperty(value = "是否是自定义返回码", notes = "自定义返回码: 0否, 1是")
	private Integer isCustomReqCode;

	/**
	 * 是否是营业厅标识
	 */
	@ApiModelProperty(value = "是否是营业厅标识", notes = "是否是营业厅标识: 0否, 1是")
	private Integer isBusinessHallCode;

	/**
	 * 是否是工号
	 */
	@ApiModelProperty(value = "是否是工号", notes = "是否是工号: 0否, 1是")
	private Integer isOperatorCode;

	/**
	 * 是否是手机号
	 */
	@ApiModelProperty(value = "是否是手机号", notes = "是否是手机号: 0否, 1是")
	private Integer isPhoneNumber;

	/**
	 * 是否是告警提示
	 */
	@ApiModelProperty(value = "是否是告警提示", notes = "是否是告警提示: 0否, 1是")
	private Integer isAlarm;

	/**
	 * 需要通过用户关联信息回填
	 */
	@ApiModelProperty(value = "需要通过用户关联信息回填", notes = "需要通过用户关联信息回填: 0否, 1是")
	private Integer isBackFill;

	/**
	 * 关联指标
	 */
	@ApiModelProperty(value = "关联指标", notes = "关联指标: 0否, 1是")
	private Integer isRelevance;

	/**
	 * 展示是否脱敏 0不脱敏 1脱敏
	 */
	@ApiModelProperty(value = "展示是否脱敏", notes = "展示是否脱敏: 0否, 1是")
	private Integer isShowSensitive;

	/**
	 * 需要通过用户关联信息回填
	 */
	@ApiModelProperty(value = "解码方式", notes = "解码方式, 0.否 1.Base64解码 2.Unicode解码 3.url解码 4.url+unicode解码")
	private String decodeType;

	/**
	 * 是否保留原始数据
	 */
	@ApiModelProperty(value = "是否保留原始数据", notes = "是否保留原始数据: 0否, 1是")
	private Integer isRetainOri;


	/**
	 * 匹配符
	 */
	@ApiModelProperty(value = "匹配符", notes = "匹配符")
	private String matchRegular;


	/**
	 * 是否全量提取
	 */
	@ApiModelProperty(value = "是否全量提取", notes = "是否全量提取: 0否, 1是")
	private Integer isFullExtraction;

	/**
	 * 原始数据条数
	 */
	private Integer oriCount;

	/**
	 * 关联指标
	 */
	@ExcelIgnore
	@TableField(exist = false)
	@ApiModelProperty(value = "关联指标", notes = "关联指标  0 非关联指标、 1. 是前端关联指标、2.是后端关联指标、 3. 是前后端关联指标")
	private Integer relevanceType;

	/**
	 * 是否是敏感信息
	 */
	@ApiModelProperty(value = "是否是敏感信息", notes = "是否是敏感信息")
	private Integer isSensitiveInformation;

	/**
	 * 所属系统id
	 */
	@TableField(exist = false)
	@ApiModelProperty(value = "所属系统id", notes = "所属系统id")
	private Integer systemId;

	/**
	 * 所属业务编码
	 */
	@TableField(exist = false)
	@ApiModelProperty(value = "所属业务编码", notes = "所属业务编码")
	private String businessCode;

	/**
	 * 步骤编码(绑定的业务服务资源编码)
	 */
	@TableField(exist = false)
	@ApiModelProperty(value = "步骤编码", notes = "步骤编码(绑定的业务服务资源编码)")
	private String stepCode;



}
